package main

import (
	"fmt"
	"time"
)

//func newTask() {
//	i := 0
//	for {
//		i++
//		fmt.Printf("new Goroutine: i=%d\n", i)
//		time.Sleep(1 * time.Second)
//	}
//}
//
//func main() {
//	//创建一个协程 去执行newTask
//	go newTask()
//
//	i := 0
//	for {
//		i++
//		fmt.Printf("main goroutine: i=%d\n", i)
//		time.Sleep(1 * time.Second)
//	}
//}

func main() {
	// 用go创建一个
	//go func() {
	//	defer fmt.Println("a.defer")
	//
	//	func() {
	//		defer fmt.Println("b.defer")
	//		//退出当前goroutine
	//		runtime.Goexit()
	//		fmt.Println("b")
	//	}()
	//	fmt.Println("a")
	//}()
	//
	c := make(chan int)

	go func(a int, b int) {
		i := 0
		for {
			i++
			c <- i
			fmt.Println("go:", a, b, i)
			time.Sleep(time.Second * 1)

		}
	}(10, 20)

	for {
		time.Sleep(time.Second * 2)
		num := <-c
		println("main:", num)
	}
}
